45 research outputs found

    Towards Testing Concurrent Objects in CLP

    Get PDF
    Testing is a vital part of the software development process. It is even more so in the context of concurrent languages, since due to undesired task interleavings and to unexpected behaviours of the underlying task scheduler, errors can go easily undetected. This paper studies the extension of the CLP-based framework for glass-box test data generation of sequential programs to the context of concurrent objects, a concurrency model which constitutes a promising solution to concurrency in OO languages. Our framework combines standard termination and coverage criteria used for testing sequential programs with specific criteria which control termination and coverage from the concurrency point of view, e.g., we can limit the number of task interleavings allowed and the number of loop unrollings performed in each parallel component, etc

    Cost analysis of object-oriented bytecode programs

    Get PDF
    AbstractCost analysis statically approximates the cost of programs in terms of their input data size. This paper presents, to the best of our knowledge, the first approach to the automatic cost analysis of object-oriented bytecode programs. In languages such as Java and C#, analyzing bytecode has a much wider application area than analyzing source code since the latter is often not available. Cost analysis in this context has to consider, among others, dynamic dispatch, jumps, the operand stack, and the heap. Our method takes a bytecode program and a cost model specifying the resource of interest, and generates cost relations which approximate the execution cost of the program with respect to such resource. We report on COSTA, an implementation for Java bytecode which can obtain upper bounds on cost for a large class of programs and complexity classes. Our basic techniques can be directly applied to infer cost relations for other object-oriented imperative languages, not necessarily in bytecode form

    Carnival, Calypso and Dancehall Cultures: Making the Popular Political in Contemporary Caribbean Writing

    Get PDF

    Molecular imprinting science and technology: a survey of the literature for the years 2004-2011

    Full text link

    Minimal Set Unification

    No full text
    . A unification algorithm is said to be minimal for a unification problem if it generates exactly a complete set of minimal unifiers, without instances, without repetitions. Aim of this paper is to describe a new set unification algorithm minimal for a significant collection of sample problems that can be used as benchmarks for testing any set unification algorithm. To this end, a deep combinatorial study for such problems has been realized. Moreover, an existing naive set unification algorithm has been also tested in order to show its bad behavior for most of the sample problems. Keywords: Logic Programming with Sets, CLP, Unification. 1 Introduction The drawing up of many papers concerning Constraint Logic Programming with Sets (see e.g. [5, 6, 12]) has pointed out that the complexity of the (NP complete-- see e.g. [9]) set unification problem is the real bottleneck of any attempt to extend Logic Programming with set entities. The loss of the uniqueness of the most general unifier ..

    A Minimality Study for Set Unification

    No full text
    A unification algorithm is said to be minimal for a unification problem if it generates exactly a (minimal) complete set of most-general unifiers, without instances, and without repetitions. The aim of this paper is to present a combinatorial minimality study for a significant collection of sample problems that can be used as benchmarks for testing any set-unification algorithm. Based on this combinatorial study, a new Set-Unification Algorithm (named SUA) is also described and proved to be minimal for all the analyzed problems. Furthermore, an existing nave set-unification algorithm has also been tested to show its bad behavior for most of the sample problems
    corecore